package net.wanho.shop.service;

import net.wanho.shop.po.Role;
import net.wanho.shop.vo.PermVo;
import net.wanho.shop.vo.RoleAddVo;
import net.wanho.shop.vo.RoleFatherVo;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author 猛虎王
 * @since 2024-12-24
 */
public interface RoleService {
    //    PageInfo findPage(int pageNum, int pageSize, Role role);
    // 根据主键查询角色表
    Role findById(Serializable roleId);

    // 新增角色表
    void add(Role role);

    // 修改角色表
    void modify(Role role);

    // 根据主键删除角色表
    void removeById(Serializable roleId);

    // 新增角色表(新)
    void addRole(RoleAddVo role);

    // 角色权限列表
    List<RoleFatherVo> findRoles();

    // 所有角色列表
    List<Role> findAll();

    List<PermVo> removePermissionsByRoleId(Integer rightId, Integer roleId);


    void addPermissionsByRoleId(Integer roleId, Map<String, String> ids);

    void modifyByRoleId(Role role, Integer roleId);
}
